package com.yantong.service;

import com.yantong.utils.PageUtils;
import com.yantong.pojo.HeadLine;
import com.yantong.pojo.HeadlinePosition;
import com.yantong.pojo.vo.HeadLineVo;

import java.util.Map;

/**
 * 文章资讯业务接口
 * @author sujin
 */
public interface HeadLineService {

    /**
     * 分页查询文章资讯列表
     * @param headLineVo
     * @param offset
     * @param limit
     * @return
     */
    PageUtils<HeadLineVo> pageHeadLineList(HeadLineVo headLineVo, int offset, int limit);

    /**
     * App分页查询文章资讯列表
     * @param headLineVo
     * @param offset
     * @param limit
     * @return
     */
    PageUtils<HeadLineVo> pageHeadLineAppList(HeadLineVo headLineVo, int offset, int limit);

    /**
     * 根据id获取文章信息
     * @param id
     * @return
     */
    HeadLineVo getHeadLine(Long id);

    /**
     * 文章分类标签名
     * @return
     */
    Map<String, Object> getPositionListToMap(Long centreId);

    /**
     * 新增文章
     * @param headLine
     * @return
     */
    int addHeadLine(HeadLine headLine);

    /**
     * 修改文章
     * @param headLine
     * @return
     */
    int updateHeadLine(HeadLine headLine);

    /**
     * 删除文章
     * @param id
     * @return
     */
    int removeHeadLine(Integer id);

    /**
     * 获取文章App详情
     * @param id
     * @return
     */
    HeadLineVo getHeadLineDetail(Long id);

    /**
     * 阅读数加1
     * @param readNumber
     * @param id
     * @return
     */
    int addReadNumberById(Integer readNumber, Long id);

    /**
     * 分页查询文章资讯分类列表
     * @param positionName
     * @param offset
     * @param limit
     * @return
     */
    PageUtils<HeadlinePosition> pageHeadLinePositionList(String positionName, Long centreId, int offset, int limit);

    /**
     * 新增文章分类
     * @param headlinePosition
     * @return
     */
    int addHeadLinePosition(HeadlinePosition headlinePosition);

    /**
     * 获取文章分类详情
     * @param id
     * @return
     */
    HeadlinePosition getHeadLinePosition(Long id);

    /**
     * 修改文章分类
     * @param headlinePosition
     * @return
     */
    int updateHeadLinePosition(HeadlinePosition headlinePosition);

    /**
     * 删除文章分类
     * @param id
     * @return
     */
    int removeHeadLinePosition(Long id);

}
